namespace go user_address
include "common.thrift"
struct UserAddress{
	1:   i64    ID                  (api.body = "id")
	2:   string ReceiverName        (api.body = 'receiver_name')
	3:   string ReceiverEmail       (api.body = 'receiver_email')
	4:   string ReceiverProvince    (api.body = 'receiver_province')
	5:   string ReceiverCity        (api.body = 'receiver_city')
	6:   string ReceiverRegion      (api.body = 'revceiver_region')
	7:   string ReceiverAddress     (api.body = 'receiver_address')
	8:   string ReceiverMobile      (api.body = 'receiver_mobile')
	9:   i64    ReceiverProvinceID  (api.body = 'receiver_province_id')
	10:  i64    ReceiverCityID      (api.body = 'receiver_city_id')
	11:  i64    ReceiverRegionID    (api.body = 'revceiver_region_id')
}

struct GetUserAddressListRequest{
	1:  i64 Page = 1  (api.body = 'page')
	2:  i64 Size = 20 (api.body = 'size')
}

struct GetUserAddressListResponse{
	1:    list<UserAddress> Data        (api.body = 'data')
	255:  common.Pagination Pagination  (api.body = 'pagination')
}

struct CreateUserAddressRequest{
	2:   string ReceiverName        (api.body = 'receiver_name')
	3:   string ReceiverEmail       (api.body = 'receiver_email')
	7:   string ReceiverAddress     (api.body = 'receiver_address')
	8:   string ReceiverMobile      (api.body = 'receiver_mobile')
	9:   i64    ReceiverProvinceID  (api.body = 'receiver_province_id')
	10:  i64    ReceiverCityID      (api.body = 'receiver_city_id')
	11:  i64    ReceiverRegionID    (api.body = 'receiver_region_id')
	12:  bool   Default             (api.body = 'default')
}

struct CreateUserAddressResponse{

}

struct UpdateUserAddressRequest{
	1:   i64    ID                  (api.body = 'id')
	2:   string ReceiverName        (api.body = 'receiver_name')
	3:   string ReceiverEmail       (api.body = 'receiver_email')
	7:   string ReceiverAddress     (api.body = 'receiver_address')
	8:   string ReceiverMobile      (api.body = 'receiver_mobile')
	9:   i64    ReceiverProvinceID  (api.body = 'receiver_province_id')
	10:  i64    ReceiverCityID      (api.body = 'receiver_city_id')
	11:  i64    ReceiverRegionID    (api.body = 'receiver_region_id')
	12:  bool   Default             (api.body = 'default')
}

struct UpdateUserAddressResponse{

}

struct DeleteUserAddressRequest{
	1:  list<i64> IDs  (api.body = 'ids')
}

struct DeleteUserAddressResponse{

}

struct SetDefaultUserAddressRequest{
	1:  i64 ID  (api.body = 'id')
}

struct SetDefaultUserAddressResponse{

}
